package com.example.demo.ldap.service;



import com.example.demo.ldap.entity.Organization;
import com.example.demo.ldap.entity.User;

import java.util.List;

/**
 * @InterfaceName ILdapService
 * @Author b21399
 * @Date 2020/11/19 10:45
 * @Description TODO
 * @Version 1.0
 **/
public interface ILdapService {
    /**
     * Ldap认证
     * @param usernamem
     * @param password
     * @return
     */
    Boolean ldapAuth(String usernamem, String password);

    /**
     * 通过id查询用户信息
     * @return
     */
    User getAllPersonNames(String uid);

    /**
     * 通过uid查询用户所在组织
     * @param uid
     * @return
     */
    Organization getOrgByUid(String uid);

    /**
     * 查询所有用户信息
     * @return
     */
    List<User> getAllPerson();

    /**
     * 通过组织ID查询组织信息
     * @param departmentNumber
     * @return
     */
    List<Organization> getAllOrgsById(String departmentNumber);

    /**
     * 通过组织名字查询组织信息
     * @param cahOrgName
     * @return
     */
    List<Organization> getAllOrgsByNmae(String cahOrgName);

    /**
     * 是否为62及62下级组织的用户
     * @param uid  LDAP用户名
     * @return true or false
     */
    boolean is62User(String uid);
}
